package io;

import java.io.*;

/**
 * java讲流分为两类
 * 节点流与处理流
 *
 * 节点流 也称低级流 事实及连接程序与另一端的管道 负责市级读写数据的流
 *       读写一定是建立在节点流基础上进行的
 * 处理流 也称为高级流 不能独立存在 必须连接在其他流上 目的是当数据流经该流时对数据
 *       做某种加工处理简化我们对应的操作
 * 实际开发中我们经常会串联一组高级流并最终链接到某个低级流上
 * 读写数据的过程一流水线式的对数据做加工处理 被称为流的连接
 *
 *
 *
 * 缓冲流 java.BufferedOutputStream和BufferedInputStream
 * 是一对高级流，作用是提高读写效率
 *
 *
 * 缓冲流内部维护一个字节数组 默认大小8k，无论我们使用缓冲流时是单字节还是块
 * 最终都会被缓冲流转换为快读写8k一次的顺序读写来保整度系诶侠侣
 *
 */
public class CopyDemo3 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis=new FileInputStream("./腾讯QQ.lnk");
        BufferedInputStream bis=new BufferedInputStream(fis);
        FileOutputStream fos=new FileOutputStream("./腾讯QQ_cp.lnk");
        BufferedOutputStream bos=new BufferedOutputStream(fos);
        int d;
        while ((d=bis.read())!=-1){
            bos.write(d);
        }
        System.out.println("复制完毕");
        bis.close();
        bos.close();










    }




















}
